package com.rtline.business.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;

import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>UserVo .
 *
 * <p>change history:
 *
 * <pre>
 * date         defect       person          comments
 * --------------------------------------------------------------------------------
 * 2025/5/31    ********     Tao Ren    create file.
 * </pre>
 *
 * @author Tao Ren
 * @date 2025/5/31 13:35
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserVo extends BaseExcelVo {
    @ExcelProperty(value = "主键ID", index = 0)
    private Long id;

    @ExcelProperty(value = "姓名", index = 1)
    @NotBlank(message = "name 不能为空")
    private String name;

    @ExcelProperty(value = "手机", index = 2)
    @NotBlank(message = "phone 不能为空")
    private String phone;

    @ExcelProperty(value = "创建人", index = 3)
    private String createBy;

    @ExcelProperty(value = "备注", index = 4)
    private String remark;

    @ExcelIgnore
    private String basicInfo;

    @ExcelIgnore
    private String permissions;

    // @ExcelIgnore
    @ExcelProperty(value = "错误信息", index = 5)
    private String errorMessage;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getBasicInfo() {
        return basicInfo;
    }

    public void setBasicInfo(String basicInfo) {
        this.basicInfo = basicInfo;
    }

    public String getPermissions() {
        return permissions;
    }

    public void setPermissions(String permissions) {
        this.permissions = permissions;
    }

    @Override
    public String toString() {
        return "UserVo{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", phone='" + phone + '\'' +
                ", createBy='" + createBy + '\'' +
                ", remark='" + remark + '\'' +
                ", basicInfo='" + basicInfo + '\'' +
                ", permissions='" + permissions + '\'' +
                ", errorMessage='" + errorMessage + '\'' +
                '}';
    }
}
